备份文件下载
网站源码
- 直接访问 www.zip ,下载一个压缩包,找到flag_556132031.txt,但是打开没有flag
- 直接网站访问flag_556132031.txt,得到flag
- 常见的网站源码备份文件后缀:tar、tar.gz、zip、rar
- 常见的网站源码备份文件名:web、website、backup、back、www、wwwroot、temp
bak文件
- bak文件是php的备份文件后缀
- 题目提示flag在index.php的源码里,直接访问index.php.bak,找到flag
vim缓存
- 访问.index.php.swp,记事本打开,得到flag
- 开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露
- vim缓存中vim会自动生成的备份文件以及临时文件,临时文件是在编辑文本时就会创建的文件,如果程序正常退出,临时文件自动删除
- 如果意外退出就会保留,文件名为 .filename.swp,第一次产生的交换文件名为“.filename.txt.swp”
- 再次意外退出后,将会产生名为“.filename.txt.swo”的交换文件,第三次产生的交换文件则为“.filename.txt.swn”
- 例如:.index.php.swp
.DS_Store
- 直接访问.DS_Store,下载文件,好,打不开
- 尝试用各种编辑器打开无果后,拖到了Linux里,cat一下,虽然还是有乱码,幸好可以辨认出836413e3b43ec7af94350f861b00d972.txt这么个玩意
- 访问836413e3b43ec7af94350f861b00d972.txt,得到flag
- .DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件,通过.DS_Store可以知道这个目录里面所有文件的清单
PHPINFO
- 直接点击访问phpinfo.php,Ctrl+F,找到flag
目录遍历
- 就嗯点,然后在/flag_in_here/1/4/目录下找到flag.txt,点击访问
SVN泄露
SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理
在服务器上布署代码时,如果是使用 svn checkout 功能来更新代码,而没有配置好目录访问权限,则会存在此漏洞;利用此漏洞,可以下载整套网站的源代码
在使用SVN管理本地代码过程中,会自动生成一个隐藏文件夹,其中包含重要的源代码信息;但一些网站管理员在发布代码时,不愿意使用导出功能,而是直接复制代码文件夹到WEB服务器上,这就使隐藏文件夹被暴露于外网环境
迫不得已又去弄了个kali,不知道为啥外边复制的东西到里边不能粘贴,就很悲伤,url还要自己一个一个敲,flag也是😭
弄一个
dvcs-ripper
:git clone https://github.com/kost/dvcs-ripper
然后:
perl rip.svn -u [url]/.svn
,将.svn
文件保存到本地然后使用
ls cd cat
可以在.svn/pristine/ec/
目录下的ecb087cbce4e19132bc59e6aa5c59a19621119c5.svn-base
中读到flag
HG泄露
当开发人员使用 Mercurial 进行版本控制,对站点自动部署;如果配置不当,可能会将.hg 文件夹直接部署到线上环境,引起 hg 泄露漏洞
dirsearch扫了一下:
[22:26:14] 301 - 169B - /.hg -> http://challenge-1c4eccac7cb93555.sandbox.ctfhub.com/.hg/ [22:26:14] 200 - 63B - /.hg/store/undo [22:26:14] 200 - 127B - /.hg/undo.dirstate
一个301两个200,访问那两个200,可以看到里边都写了
flag_586329245.txt
直接访问,得到flag
git泄露
Log
- 当前大量开发人员使用git进行版本控制,对站点自动部署;如果配置不当,可能会将.git文件夹直接部署到线上环境,引起git泄露漏洞
- 下载一个githack,然后:
python githack [url]/.git/
下载- 然后打开以url命名的那个文件夹,右键
git bash here
,输入git log
可以看到当前版本为 remove flag- 这里有两个命令我试了都可以用的(那个
git reset
不知道为啥不行):
git diff 519890932b9aeb7f57c03a68949b42317498182a
,后边那一串是add flag的commit,然后文件夹下会生成一个txt文件,flag在里面- 或者
git show
命令,就可以直接看到flag
Stash
- 下载文件,右键
git bash here
,然后:git stash list
,回显了一个stash@{0}: WIP on master: 12a5348 add flag
- 然后:
git stash pop
,回到目录下找到一个56581483718564.txt
文件,flag就在里边
Index
- githack下载文件,然后,看到了一个
128467637999.txt
,打开得到flag,啊,有点惊讶